/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package GUI;

import geradores.GeradorDeGrafico;
import dominio.ResultadoDeMelhorLocalDeVenda;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import javax.swing.JOptionPane;
import negocio.ConsorcioNegocio;
import negocio.DatasNegocio;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author gilcemar e naliane
 */
public class ControladorDeGeracaoDeGrafico implements ActionListener {
    protected JanelaGraficos janelaDeGeracaoDeGrafico;
    private GeradorDeGrafico gerador = new GeradorDeGrafico();
    private ConsorcioNegocio negocio = new ConsorcioNegocio();
    private DatasNegocio dataNegocio = new  DatasNegocio();


    public void gerarGrafico (String opcaoDeGrafico)
    {
        if (janelaDeGeracaoDeGrafico.getBotaoSelecionado().equalsIgnoreCase("Selecione uma opção de pesquisa"))
        {
            JOptionPane.showMessageDialog(janelaDeGeracaoDeGrafico, janelaDeGeracaoDeGrafico.getBotaoSelecionado());
            return;
        }else
            if (janelaDeGeracaoDeGrafico.getBotaoSelecionado().equalsIgnoreCase("Localidades"))
            {
                janelaDeGeracaoDeGrafico.setjLabel1(gerador.gerarGrafico(negocio.gerarGrafico(opcaoDeGrafico)));
            }else
                if (janelaDeGeracaoDeGrafico.getBotaoSelecionado().equalsIgnoreCase("Meses"))
                {
                    janelaDeGeracaoDeGrafico.setjLabel1(gerador.gerarGraficoMelhoresMesesDeVenda(dataNegocio.obterLista()));

                }
    }

    public void gerarGraficoPadrao ()
    {
        janelaDeGeracaoDeGrafico.repaint();
        janelaDeGeracaoDeGrafico.getPainelGrafico().repaint();
        janelaDeGeracaoDeGrafico.setjLabel1(gerador.colocarGraficoPadrao());
    }

    public void setJanelaDeGeracaoDeGrafico(JanelaGraficos janelaDeGeracaoDeGrafico) {
        this.janelaDeGeracaoDeGrafico = janelaDeGeracaoDeGrafico;
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equalsIgnoreCase("Gerar Gráfico"))
        {
            gerarGrafico(janelaDeGeracaoDeGrafico.getBotaoSelecionado());
        }else
            if (e.getActionCommand().equalsIgnoreCase("Gráfico Padrão"))
            {
                gerarGraficoPadrao();
            }
    }

}
